// src/api/manage/paper.js
import request from '@/utils/request'

// 获取章节树形结构
export function getChapters() {
  return request({
    url: '/paper/automatic/chapters',
    method: 'get'
  })
}

// 创建自动组卷
export function createAutomaticPaper(data) {
  return request({
    url: '/paper/automatic/create',
    method: 'post',
    data: data
  })
}

// 预览自动组卷
export function previewAutomaticPaper(data) {
  return request({
    url: '/paper/automatic/preview',
    method: 'post',
    data: data
  })
}

// 创建手动组卷
export function createManualPaper(data) {
    return request({
      url: '/paper/manual/create',
      method: 'post',
      data: data
    })
  }
  
// 修改手动组卷
export function updateManualPaper(data) {
  return request({
    url: '/paper/paper', // 使用通用的更新试卷API
    method: 'put',
    data: data.paper
  })
}

// 创建试卷（通用）
export function addPaper(data) {
  return request({
    url: '/paper/paper',
    method: 'post',
    data: data
  })
}
  
// 查询可用题目列表（手动组卷）
export function listQuestions(query) {
  return request({
    url: '/paper/manual/questions',
    method: 'get',
    params: query
  })
}

// 查询试卷列表
export function listPaper(query) {
  return request({
    url: '/paper/paper/list',
    method: 'get',
    params: query
  })
}

// 获取试卷详情
export function getPaper(paperId) {
  return request({
    url: `/paper/paper/${paperId}`,
    method: 'get'
  })
}

// 删除试卷
export function delPaper(paperIds) {
  return request({
    url: `/paper/paper/${paperIds}`,
    method: 'delete'
  })
}

// 发布试卷
export function publishPaper(paperId) {
  return request({
    url: `/paper/paper/publish/${paperId}`,
    method: 'put'
  })
}

// 下架试卷（变为已结束状态）
export function endPaper(paperId) {
  return request({
    url: `/paper/paper/end/${paperId}`,
    method: 'put'
  })
}

// 下架试卷（变为草稿状态）
export function unpublishPaper(paperId) {
  return request({
    url: `/paper/paper/unpublish/${paperId}`,
    method: 'put'
  })
}

// 修改试卷
export function updatePaper(data) {
  return request({
    url: '/paper/paper',
    method: 'put',
    data: data
  })
}

// 查询学生试卷列表
export function listStudentPaper(query) {
  return request({
    url: '/paper/paper/list',
    method: 'get',
    params: query
  })
}

// 检查试卷是否过期
export function checkPaper(paperId) {
  return request({
    url: `/paper/paper/check/${paperId}`,
    method: 'get'
  })
}